metal steel automotive c++ aluminum auto consulting industrial j2ee uml business analysis aerospace use cases coat extreme programming project management olap rock java